home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / ftn / libexc.z / libexc
Encoding:
Text File  |  2002-10-03  |  3.9 KB  |  77 lines

  1. LIBEXC(3F)                                             Last changed: 1-8-99
  2.  
  3.  
  4. NNAAMMEE
  5.      ttrraaccee__bbaacckk__ssttaacckk, ttrraaccee__bbaacckk__ssttaacckk__aanndd__pprriinntt - Calls stack trace
  6.      library for Fortran applications
  7.  
  8. SSYYNNOOPPSSIISS
  9.      iinntteeggeerr**44 ttrraaccee__bbaacckk__ssttaacckk
  10.      iinntteeggeerr**44 ii
  11.      iinntteeggeerr**88 aaddddrrss((110000))
  12.      cchhaarraacctteerr**110000 nnaammeess((110000))
  13.      ii == ttrraaccee__bbaacckk__ssttaacckk((00,, aaddddrrss,, nnaammeess,, 110000,, 110000))
  14.  
  15.      ccaallll ttrraaccee__bbaacckk__ssttaacckk__aanndd__pprriinntt(())
  16.  
  17.      iinntteeggeerr**88 aaddddrr,, eennttrryy
  18.      cchhaarraacctteerr**110000 nnaammee
  19.      ccaallll eexxcc__ddllaaddddrr((aaddddrr,, nnaammee,, 110000,, eennttrryy))
  20.  
  21. IIMMPPLLEEMMEENNTTAATTIIOONN
  22.      IRIX systems
  23.  
  24. DDEESSCCRRIIPPTTIIOONN
  25.      The lliibbeexxcc library provides the functionality for user-level call
  26.      stack unwind.
  27.  
  28.      ttrraaccee__bbaacckk__ssttaacckk is used to unwind the call stack at the time it is
  29.      called.  The first argument sets the number of stack frames to be
  30.      unwound.  If it is set to zero, the unwind continues up to mmaaiinn or up
  31.      to __nnsspprroocc//__ffoorrkk for child processes.  The second argument is the
  32.      array that contains the addresses of the callers in the stack after
  33.      the unwind is completed.  The third argument contains the names of the
  34.      functions in the stack after the unwind is completed.  If this
  35.      argument is set to NULL, it disables procedure name extraction.  The
  36.      fourth argument is the size of the array of callers and the fifth
  37.      argument is the size of the procedure name strings.
  38.  
  39.      ttrraaccee__bbaacckk__ssttaacckk__aanndd__pprriinntt unwinds the call stack (up to mmaaiinn or up to
  40.      __nnsspprroocc//__ffoorrkk for child processes) and prints it to the standard
  41.      output.  First, the pid of the process and the number of frames in the
  42.      stack are printed and then, for each frame, the program counter and
  43.      the function name are printed.
  44.  
  45.      eexxcc__ddllaaddddrr maps a text address to the procedure that includes it.  The
  46.      first argument is the address to be mapped.  The second argument will
  47.      contain the procedure name upon return, and the third argument is the
  48.      size of the procedure name string.  The fourth argument will contain
  49.      the procedure entry address upon return.
  50.  
  51. NNOOTTEESS
  52.      Executables complying to the O32 ABI must be explicitly linked with
  53.      lliibbeexxcc.
  54.  
  55. EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
  56.      __LLIIBBEEXXCC__CCAACCHHEE         Enables dwarf information caching (N32/N64 ABIs
  57.                            only).
  58.  
  59.      __LLIIBBEEXXCC__NNOO__PPRROOCC__NNAAMMEE  Disables procedure name extraction (N32/N64 ABIs
  60.                            only).
  61.  
  62.      __LLIIBBEEXXCC__IINNIITT          Forces some dwarf information loading at the
  63.                            time of the first call to the lliibbeexxcc functions
  64.                            (N32/N64 ABIs only).  Alternatively, a call to
  65.                            eexxcc__iinniitt(()) would have the same effect of forced
  66.                            pre-initialization.
  67.  
  68. DDIIAAGGNNOOSSTTIICCSS
  69.      Upon successful completion, both functions return the number of call
  70.      stack frames that were unwound.  In the event of failure, a zero value
  71.      is returned.
  72.  
  73. SSEEEE AALLSSOO
  74.      ssppeeeeddsshhoopp(1), lliibbeexxcc(3)
  75.  
  76.      This man page is available only online.
  77.